import axios from 'axios'
import Vue from 'vue'
import {
  getSessionStoreItem,
  setSessionStoreItem
} from '../utils/utils'
// 配置请求的跟路径
axios.defaults.baseURL = 'http://127.0.0.1:8999'
// axios.defaults.headers['Authorization'] = getSessionStoreItem("token"); 
// 在 request 拦截器中，展示进度条 NProgress.start()
axios.interceptors.request.use(config => {
  // console.log(config)   如果sessionStorage存在token就携带
  config.headers.Authorization = getSessionStoreItem("token");
  // console.log("config.headers.Authorization ",config.headers.Authorization);
  // config.headers["Access-Control-Allow-Origin"] = "*";
  // config.headers["Access-Control-Allow-Methods"] = "PUT,POST,GET,DELETE,OPTIONS";
  // config.headers["Content-Type"] = "application/json;charset=utf-8";

  // console.log("getSessionStoreItem('token')=" + getSessionStoreItem('token'));
  // 在最后必须 return config
  return config
})
// 在 response 拦截器中，隐藏进度条 NProgress.done()
axios.interceptors.response.use(config => {
  //判断响应数据是否存在token 存在就 setSessionStore
  //主要用于刷新token
  console.log("config=");
  console.log(config);
  if (config.headers && config.headers.token) {
    console.log("config.headers['token']=" + config.headers['token']);
    console.log("刷新token 成功", config.headers.token);
    setSessionStoreItem("token", config.headers.token);
  }
  return config
})
Vue.prototype.$http = axios